package com.physics.mps.module.checker;

import cn.hutool.core.io.FileUtil;
import com.physics.mps.entity.vo.SimulatePathVo;

/**
 * @author mcsoft
 * @since 2023/10/18
 */
public abstract class AbstractComputeChecker implements ComputeChecker {


    // ~ Variable & Constant
    // ========================================================================================================

    private SimulatePathVo simulatePathVo;

    public void setSimulatePathVo(SimulatePathVo simulatePathVo) {
        this.simulatePathVo = simulatePathVo;
    }

    public SimulatePathVo getSimulatePathVo() {
        return simulatePathVo;
    }

    public void checkAndCreatePath(String path) {
        if(!FileUtil.exist(path)){
            FileUtil.mkdir(path);
        }
    }

    @Override
    public void check() {
        checkImpl();
    }


    // ~ Public method
    // ========================================================================================================

    public abstract void checkImpl();

    // ~ Override method
    // ========================================================================================================


    // ~ Private method
    // ========================================================================================================


    // ~ Autowired
    // ========================================================================================================


}
